【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏) | 您所在的位置:网站首页 › ubuntu2004 安装 › 【安装】Ubuntu20.04下安装ROS的完整过程(内含已装好ROS的虚拟机、虚拟机创建过程、ROS安装过程及全过程录屏) |
2022/12/20重制,精简流程,直接去掉网络问题。 现成的虚拟机为方便大家学习,如果安装ROS遇到的问题实在太多,也可以直接下载我提供给大家的、已经安装好ROS的Ubuntu虚拟机:下载链接, 提取码:1030。 虚拟机的使用说明也在这个文件夹下,虚拟机密码是3edcxsw2。 全过程录屏(虽然貌似没有必要就是说): https://www.bilibili.com/video/BV1du411d7ho?p=3 文章目录 现成的虚拟机阅读本博客前,请务必瞧一瞧看一看:1 Ubuntu版本号和ROS版本2 Linux终端输入密码输入不了3 Ubuntu镜像站 步骤 重要提醒|安装之前先快照!1 更换软件源①更换总的软件源(能科学上网则忽略这一步)②更换ROS软件源 2 密钥3 添加一个公钥4 更新软件源5 安装ROS5.1 可能遇到的错误:`cn.archive.ubuntu.com`连接失败,然后无法下载。 6 设置环境变量7 安装rosinstall(可选)8 测试ros安装情况8.1 可能出现的错误1: 到第8步就可以停了,不用装rosdep9 rosdep init和update假9 常规的rosdep init和update9.1 可能遇到的错误1:找不到命令9.2 可能出现的错误2:请求超时(ERROR: Rosdep experienced an error: The read operation timed out)方案1:自定义域名解析方案2:修改timed out的时间。方案3:切换手机热点。 9.3 可能出现的错误3:已存在文件/etc/ros/rosdep/sources.list.d/20-default.list9.4 可能出现的错误4:[Errno 104] Connection reset by peer 10 根据rosdep列表更新。(可略) 参考博客 阅读本博客前,请务必瞧一瞧看一看: 1 Ubuntu版本号和ROS版本Ubuntu20.04用的是focal,以下是Ubuntu版本号和版本名称的对应关系: 版本号版本名称18.04bionic20.04focal21.04impish22.04jammy如果是其他版本想安装ROS,这篇博客中所有提到focal的,都要替换成其他版本对应的版本名称。 例如:Ubuntu20.04安装ROS,需要使用focal; Ubuntu18.04安装ROS,需要换成bionic。 可以看到,上表中我将Ubuntu21.04、22.04划掉了,这是因为Noetic(也就是Ubuntu20.04对应的ROS版本名字)是ROS1发行版的最后一个版本,ROS1不再开发支持更高版本Ubuntu的ROS1版本。 因此,如果你在Ubuntu21.04、22.04安装ROS,你或许会在更新ros软件源或者其他软件源时,遇到如下错误:Err: 【你的软件源地址】 【版本名称】 Release/InRelease 404 Not Found,例如: Ign:2 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu impish InRelease Err:3 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu impish Release 404 Not Found [IP: 101.6.15.130 80]所以如果你在Ubuntu21.04、22.04安装ROS,请将/etc/apt/sources.list.d/ros-latest.list中的impish/jammy修改为focal,再重新更新软件源sudo apt update。 Ubuntu版本不一致,其实也都可以用这篇教程。 我针对这个问题在博客每一处会碰到版本问题的地方都用【蓝色小字】标注了。 只要是真的按我这篇的肯定不会碰到版本问题了。 2 Linux终端输入密码输入不了终端输入密码的时候,出于《安全》考虑,不会直接显示输入内容!如下图所示: 此时,放心大胆输入即可! 3 Ubuntu镜像站Ubuntu iso文件的下载网站:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ 接下来是正式的安装步骤。 重要提醒|安装之前先快照!【重要!非常重要!】安装之前先快照,以防万一。 1 更换软件源 ①更换总的软件源(能科学上网则忽略这一步)注意:focal是Ubuntu20.04的版本名,无论如何请改成自己的。 换成阿里云的,点击查看阿里云官方换源教程: sudo sh -c 'echo "deb http://mirrors.aliyun.com/ubuntu/ focal main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ focal-backports main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ focal-security main multiverse restricted universe deb http://mirrors.aliyun.com/ubuntu/ focal-updates main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ focal main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main multiverse restricted universe deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main multiverse restricted universe" > /etc/apt/sources.list' ②更换ROS软件源注意:focal是Ubuntu20.04的版本名,如果版本低于Ubuntu20.04请改成自己的,如果高于请别改。 清华的: sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ focal main" > /etc/apt/sources.list.d/ros-latest.list'中科大的(慎用,2022年1月15日~1月22日据小伙伴们反应,解析不了cn.archive.ubuntu.com): sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ focal main" > /etc/apt/sources.list.d/ros-latest.list' 2 密钥 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 3 添加一个公钥 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 4 更新软件源 sudo apt update 5 安装ROS sudo apt install ros-noetic-desktop-full -y这一步进行时,最好不要在Ubuntu中使用别的软件,比如gedit,有可能会出现异常。 这一步完成之后,最好是快照一下。 5.1 可能遇到的错误:cn.archive.ubuntu.com连接失败,然后无法下载。
然后再执行一次sudo apt update,再重新执行: sudo apt install ros-noetic-desktop-full -y这一步完成之后,最好是快照一下。 6 设置环境变量 echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc使环境变量生效 source ~/.bashrc 7 安装rosinstall(可选) sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool -y 8 测试ros安装情况 sudo apt install python3-roslaunch -y roscore rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key出现小海龟就说明没问题。到这一步也就差不多了。 8.1 可能出现的错误1:
直到全装好。 到第8步就可以停了,不用装rosdep原因如是:rosdep不初始化到底行不行_鱼香ROS。 rosdep只是个包管理工具,我说实话一直没用过它。 9 rosdep init和update【鱼香ROS】改的rosdep,改成rosdepc了,我不知道他具体改了什么,但确实没网络问题了: sudo apt install python3-pip -y sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple rosdepc sudo rosdepc init sudo rosdepc update因为我很少用rosdep,所以我觉得挺无所谓的,决定就用它了。 如果你不打算用这个,打算还是按老方法装,可以继续参考以下下文。 假9 常规的rosdep init和update sudo rosdep init可能遇到以下错误: 9.1 可能遇到的错误1:找不到命令 sudo apt install python3-rosdep2022/12/19更新——根据ROS Answer的问答,这里不能装rosdep2,要装rosdep:Missing packages after installing rosdep based on python3-rosdep2 in Noetic: 追加199.232.28.133 raw.githubusercontent.com 其中199.232.28.133可以换成别的IP地址。 具体哪个IP能用,可以在网站https://www.ipaddress.com/site/raw.githubusercontent.com中找找。有小伙伴反映185.199.108.133是能用的。 方案2:修改timed out的时间。 sudo gedit /usr/lib/python3/dist-packages/rosdep/sources_list.py修改DOWNLOAD_TIMEOUT = 15.0的15.0,改大,可为150。 方案3:切换手机热点。 9.3 可能出现的错误3:已存在文件/etc/ros/rosdep/sources.list.d/20-default.list删掉就行。 sudo rm /etc/ros/rosdep/sources.list.d/20-default.list 9.4 可能出现的错误4:[Errno 104] Connection reset by peer你或许正在进行rosdep update,如果尝试过以上所有解决办法都无效,这一步可以略。 10 根据rosdep列表更新。(可略) rosdep update若出现错误,按sudo rosdep init(上一步)出错处理。 如果不希望跳过这个步骤,可参考以下三篇博客任一方法,完成rosdep update: 修改修改rosdep源码中下载资源的函数:解决ROS系统 rosdep update超时问题的新方法。这篇博客2022年10月11日更新内容提到了如何解决rosdep update的问题:详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装(最新版教程)。ERROR: cannot download default sources list from。(这个方法我亲测,会因为yaml访问不了file://文件然后出错) 参考博客 《详细介绍如何在ubuntu20.04中安装ROS系统,超快完成安装!!!(最新版教程)》https://github.com/fishros/install/blob/master/tools/tool_config_rosdep.py(用于解决rosdep问题的)。 |
CopyRight 2018-2019 实验室设备网 版权所有 |